package com.zbb.online_exam.service;

import com.zbb.online_exam.dto.TableDto;
import com.zbb.online_exam.entity.Paper;

/**
 * @author zbbstart
 * @date 2021/2/12 - 13:05
 */
public interface PaperService {
    /**
     * 根据老师编号获取试卷
     *
     * @param teacherNo 老师编号
     * @param pageNo    页码
     * @param size      页面的大小
     * @return 获取试卷列表
     */
    TableDto getPapersByTeacherNo(Integer teacherNo, Integer pageNo, Integer size);

    /**
     * 创建试卷
     *
     * @param paper 前端传来的试卷的信息
     */
    void createPaper(Paper paper);

    /**
     * 通过试卷编号获取试卷信息
     *
     * @param paperId 试卷编号
     * @return 当前试卷信息
     */
    Paper getPaperInfoByPaperId(Integer paperId);

    /**
     * 生成试卷
     *
     * @param paperId 试卷编号
     */
    void generatePaper(Integer paperId);

    /**
     * 获取当前编号试卷的所有信息
     *
     * @param paperId 试卷编号
     * @return 当前编号试卷的所有信息
     */
    Paper getPaperAllInfo(Integer paperId);

    /**
     * 获取当前编号试卷的基础信息
     *
     * @param examNo 考试编号，即试卷的paperNo
     * @return 当前编号试卷的基础信息
     */
    Paper getPaperByExamNo(String examNo);

    /**
     * 让试卷过期
     * @param paperId 试卷编号
     */
    void cancelPaper(Integer paperId);

    /**
     * 删除试卷
     * @param paperId 试卷编号
     */
    void deletePaper(Integer paperId);

}
